home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 8
/
QRZ Ham Radio Callsign Database - Volume 8.iso
/
pc
/
files
/
t_unix
/
j109lxa4.tar
/
BSAHAX
< prev
next >
Wrap
Text File
|
1994-06-04
|
6KB
|
114 lines
Modifications to NOS 921129/PA0GRI/WG7J 1.09 by KF8NH: (ALPHA.3 Development)
* Tracing. A new mode "monitor" has been added which uses a compressed display
format and displays AX.25 Text packets the way they look to users. This is
not Linux-specific. Define MONITOR in config.h to enable this. This uses
the previously undefined flag combination IF_TRACE_ASCII|IF_TRACE_HEX,
available as the flag "monitor".
#define MONITOR
"trace <if> monitor" activates
"trace <if> -monitor" returns to ASCII trace
* AX.25 ttycall. This is equivalent to an ordinary PBBS keyboard-to-keyboard
connect; AX.25 connects to this call get fed directly to ttylink.
#define TTYCALL
"ax25 ttycall <callsign>"
* 3-argument "ax25 bc". You can now optionally specify a string to broadcast.
I use this to get separate beacons on each interface, since one is on an IP
frequency and the other is a user frequency.
#define AXBCSTR
"ax25 bc <if> [<string>]"
Support for Linux (386 *ix clone) and other POSIX-supporting *ix:
Compiling with -DLINUX and -DUNIX causes JNOS to be built for the Linux
environment. This has quite a few differences in terms of implementation
but (hopefully) few, if any, user-visible differences.
* Display is asynchronous: each session window continues to be updated even
if it is not current. Page mode becomes a bit more important with this
change.
* The display management is done via curses. A session manager is partially
implemented; when complete, several other options will be available ("dumb"
for use from /etc/rc, "xterm" for separate windows for each session).
* F1-F10 are supported via terminfo. (Linux's termcap-based curses is too
buggy for NOS to function; it dumps core when it tries to scroll.) They
have the same meanings as under the DOS version. The arrow keys are also
supported, and command history works.
* You can't run JNOS out of /etc/rc; it has to be interactive. This will
change in the future; see above.
* Device types other than asy are NOT supported. These will require kernel
device drivers. An scc driver for Linux is available; it should be in
the tcpip/incoming area on ucsd.edu, where you hopefully found JNOS/Linux,
as sccdrv12.taz. (By now this has probably been moved.)
* Interfacing to the Linux TCP/IP system is NOT directly supported. However,
you can easily run SLIP over a pty (!) between JNOS and Linux; attach the
master side of the pty using "dip", then attach the slave in JNOS as if it
were a tty.
* Connects get the JNOS BBS; no provision for system logins is made, and none
will be made. This is an even bigger potential security hole than TCP/IP
gatewaying; that is why I chose to port JNOS instead of running WAMPES,
which has already been ported to Linux. (Note that, because of the way
WAMPES used to manage users, a malicious user could play a trick like
setting their MYCALL to the name of a user. Later versions of WAMPES still
allow this as an option but also provide more secure alternatives.)
* A completely different means of scheduling timers and checking for I/O is
used, which is both more efficient and more responsive than the DOS method.
Instead of using a 55-ms timer tick and checking for timers and I/O on each
tick, the system sleeps on a select() on the asy ports and keyboard with a
select timeout. When not sleeping on the select, a 55-ms timer tick is
still used to prevent I/O blockage during slow operations, e.g. the linear
linked-list search/insert used by the "dir" command to sort the file list.
The Linux support is at least partially portable, as Linux's native API is the
POSIX P1003.1 specification. However, POSIX leaves several things unspecified
and others optional; for example, the asy management is POSIX, but I don't
expect to see DOS (usefully) supporting tcsetattr() in the near future :-)
select() is POSIX optional, but is utterly essential to JNOS. The directory
utilities use statfs(), of which at least four (!) variants exist, none POSIX.
And so on.
u2j - mail filtering:
The "u2j" program is provided to pass messages from Linux into NOS. (Sorry,
going the other way isn't supported yet, except by connecting them via SLIP.)
Usage is: "u2j NOS-address < file-with-RFC822-formatted-message". This usage
works well with aliases and .forward files, for gatewaying mailing lists.
You'll need to edit u2j.c to change the pathname to your JNOS installation.
Someday I may clean this up (probably a command line option).
TODO:
* Implement fkeys. This will take some work, as I can't use KEY_* from
ncurses (it blocks). On the other hand, since I've already *got* key trie
code, all I really need is tigetstr(). This also means that fkey can take
key names from terminfo instead of cryptic numbers (not that the terminfo
names are necessarily all that much better, mind you.... :-) Yet again,
though, the issue of session managers complicates this.
* Finish session manager support and detached consoles. The folks who have
to wait for me to start X so they can digi through me will undoubtedly thank
me for this :-) N.B. This will take real work. Don't expect it soon.
* Implement RTS/CTS flow control. Doable, but I can't test it.
* Implement DTR(=DCD). Once again, SCO is a bottleneck (actually, System V in
general): you can't distinguish between a no-delay read with no data avail-
able and a read with no carrier present. Sigh.
* Use a Unix format for ftp's LIST and NLST commands. I'm holding off until
I decide how to best map DOS attributes: if I do this it will be usable
under both, since some folks have requested a format that will work with
point-and-shoot ftp client front-ends.